]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
ci: Add dist job
authorFlorian Müllner <fmuellner@gnome.org>
Tue, 31 Aug 2021 11:06:22 +0000 (13:06 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Sat, 4 Sep 2021 23:28:46 +0000 (01:28 +0200)
So far, releases are done locally by invoking `meson dist`.

We can do better and leverage the existing CI infrastructure, to get
to the following release workflow:

 - bump version in meson.build, update NEWS etc.
 - open merge request for the release
 - merge when the pipeline (including dist check) succeeds
 - tag the release
 - wait for the tag pipeline to spit out the tarball artifact

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1968>

.gitlab-ci.yml

index cfa438ae05106f5de9dadb75f0aead73a75d881f..b12270835b49e0952c56cf9aa9d14a6f2bb3bae0 100644 (file)
@@ -31,7 +31,7 @@ variables:
   LINT_LOG: "eslint-report.xml"
   LINT_MR_LOG: "eslint-mr-report.xml"
 
-image: registry.gitlab.gnome.org/gnome/mutter/fedora/34:x86_64-2021-08-25.0
+image: registry.gitlab.gnome.org/gnome/mutter/fedora/34:x86_64-2021-09-04.1
 
 workflow:
   rules:
@@ -259,3 +259,30 @@ nightly:
   extends: '.publish_nightly'
   variables:
     BUNDLES: '$BUNDLE'
+
+dist:
+  variables:
+    XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
+    NO_AT_BRIDGE: "1"
+  stage: deploy
+  needs: ["build"]
+  before_script:
+    - meson install -C mutter/build
+    - mkdir -m 700 $XDG_RUNTIME_DIR
+  script:
+    - dbus-run-session xvfb-run meson dist -C build
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+      changes:
+        - "**/meson.build"
+        - meson/*
+
+
+dist-tarball:
+  extends: dist
+  artifacts:
+    expose_as: 'Get tarball here'
+    paths:
+      - build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz
+  rules:
+    - if: '$CI_COMMIT_TAG'